Apparatus and method for sharing ink dot count information between inkjet printers connected to a network

ABSTRACT

A system tracks the exact amount of ink remaining in printhead cartridges used in printers connected to a network. Each printer stores a history of cartridges that have been used in the printer. Each cartridge stores a status indicator that indicates whether the cartridge has been used before in any printer. When a printer receives a previously-used cartridge, the printer broadcasts a request for information about that cartridge from the other printers. Each printer having the matching printhead identification number in its history reports over the network the last recorded ink dot count associated with the matching printhead identification number. The requesting printer chooses the most up-to-date response based on the highest dot count or the latest time-stamp. The requesting printer then updates its memory using the dot count from the most up-to-date response and begins counting dots from that updated count for subsequent print jobs performed using the installed cartridge.

RELATED APPLICATION

This application is a continuation of application Ser. No. 15/650,001,filed Jul. 14, 2017, now allowed.

FIELD

This invention relates to the field of inkjet printers and printheadcartridges. More particularly, this invention relates to a system foradvertising ink dot count values over a network when a printheadcartridge is moved from one printer to another.

BACKGROUND

Nonvolatile memory in disposable inkjet printhead cartridges istypically very small to keep manufacturing costs down. Re-writablenonvolatile memory is more expensive than one-time programmable memory.Because of these constraints, disposable inkjet printheads provide onlya course indication of ink remaining due to a small number of ink levelsencoded in the printhead's limited nonvolatile memory. When a printheadis moved from one printer to another, it carries only this very coarseink level indication with it. The new printer must make an assumptionabout where the actual ink level is between the coarse levels that arereported by the printhead nonvolatile memory. In applications such asbusiness accounting, this is unacceptable because accurate dot countingis important.

What is needed, therefore, is a way to more precisely keep track of theremaining ink level in an inkjet printhead cartridge as the cartridgemoves from one printer to another.

SUMMARY

The system described herein solves the problem of determining the exactamount of ink remaining in printhead cartridges used in printers thatare all connected to the same network and that can communicate with eachother. Each printer keeps a history of printhead cartridges that havebeen used in the printer. Each printhead cartridge stores in its memorya status indicator value that indicates whether the cartridge has everbeen used before in any printer.

When a printer receives a printhead cartridge that has been previouslyused, the printer broadcasts a request on the network that in effectsays, “I have a used printhead installed having serial number X. Anyprinter that has information about this printhead, please report to me.”Each printer on the network having the matching printhead serial numberin their history then reports over the network the last recorded ink dotcount associated with the matching printhead serial number. Therequesting printer chooses the most up-to-date response based either onthe highest dot count or the latest time-stamp, if available. Therequesting printer then updates its memory using the dot count from themost up-to-date response and begins counting dots from that updatedcount for subsequent print jobs performed using the installed printhead.Based on a known total available ink dot count for a particularcartridge ink reservoir size, the printer can precisely determine theamount of ink remaining in the cartridge.

Accordingly, preferred embodiments provide a system in which inkjetprinters are not solely dependent on a course ink indication levelcarried in the memory of the inkjet printhead cartridges to estimate anamount of ink remaining.

Preferred embodiments also provide a system in which inkjet printersconnected to a network work together to determine the most accurate inklevel information for printhead cartridges installed in the printers.

In one aspect, the invention provides a method for precisely determiningan amount of ink that has been expended by an inkjet printhead cartridgethat is installed in an inkjet printer connected to a network to whichother inkjet printers are connected. One preferred embodiment of themethod includes the following steps:

-   -   (a) prior to using the inkjet printhead cartridge for a first        time after installation in a first printer, the first printer        accessing a printhead identification value stored in a printhead        memory device in the inkjet printhead cartridge, where the        printhead identification value uniquely identifies the inkjet        printhead cartridge;    -   (b) the first printer generating a request that includes the        printhead identification value and seeks information from other        of the inkjet printers connected to the network regarding the        inkjet printhead cartridge installed in the first printer;    -   (c) broadcasting the request over the network to the other        inkjet printers;    -   (d) the other inkjet printers receiving the request and each of        the other inkjet printers accessing its printer memory device to        determine whether the printhead identification value is stored        therein;    -   (e) one or more responding printers each accessing its printer        memory device to determine an ink dot count value associated        with the printhead identification value, wherein the responding        printers are other inkjet printers that determine the printhead        identification value is stored in their memory devices;    -   (f) the responding printers generating responses that each        include the ink dot count value associated with the printhead        identification value;    -   (g) broadcasting the responses generated in step (f) over the        network;    -   (h) the first printer receiving the responses that were        broadcast over the network;    -   (i) the first printer choosing one of the responses based on a        highest ink dot count value contained in the responses;    -   (j) the first printer storing in its printer memory device the        ink dot count value from the response chosen in step (i); and    -   (k) as printing is performed using the inkjet printhead        cartridge installed in the first printer, incrementing the ink        dot count value stored in the printer memory device of the first        printer based on a number of ink dots ejected from the inkjet        printhead cartridge after installation in the first printer.

In some embodiments, the method includes:

-   -   (l) prior to using the inkjet printhead cartridge for the first        time after installation in the first printer, the first printer        accessing a status indicator value stored in the printhead        memory device in the inkjet printhead cartridge, wherein the        status indicator value indicates a used status or a not-used        status of the inkjet printhead cartridge; and    -   (m) based on the status indicator value, the first printer        determining whether the inkjet printhead cartridge has been used        or has not been used prior to installation in the first printer.

Some embodiments include determining a remaining ink level value for theinkjet printhead cartridge based on the ink dot count value stored inthe printer memory device of the first printer.

In some embodiments, at least steps (a), (b), (i), (j), (k), (l), and(m) are performed by a processor in the first printer. In someembodiments, at least steps (d), (e) and (f) are performed by one ormore processors in one or more of the other inkjet printers.

In some embodiments, step (j) includes the first printer storing in itsmemory device the ink dot count value from the chosen response inassociation with the printhead identification value.

In some embodiments, step (i) includes choosing a response having thehighest ink dot count value which is determined by comparing a first inkdot value contained in a first response to a second ink dot count valuecontained in a second response.

In another aspect, the invention provides an apparatus for preciselydetermining an amount of ink that has been expended by an inkjetprinthead cartridge that is installed in an inkjet printer connected toa network to which other inkjet printers are connected. In a preferredembodiment, the system includes first, second, and third inkjet printersconnected to a network, and an inkjet printer cartridge installed in thefirst inkjet printer. The inkjet printhead cartridge includes aprinthead memory device in which is stored a first printheadidentification value that uniquely identifies the inkjet printheadcartridge.

The first inkjet printer includes a first memory device for storing afirst ink dot count value, a first processor, and a first networkinterface. Prior to using the inkjet printhead cartridge for the firsttime after installation in the first inkjet printer, the first processoraccesses the first printhead identification value stored in theprinthead memory device of the inkjet printhead cartridge and generatesa request that includes the first printhead identification value. Therequest seeks information from the other inkjet printers connected tothe network regarding the inkjet printhead cartridge installed in thefirst ink jet printer. The first network interface broadcasts therequest over the network to the other inkjet printers.

The second inkjet printer includes a second memory device, a secondnetwork interface, and a second processor. The second memory devicestores one or more printhead identification values in association withone or more ink dot count values. The second network interface receivesthe request that was broadcast over the network from the first inkjetprinter. The second processor executes instructions to access the secondprinter memory device to determine whether any of the printheadidentification values stored therein matches the first printheadidentification value included in the request. If any of the printheadidentification values stored in the second printer memory device matchesthe first printhead identification value, the second processor accessesthe second printer memory device to determine an ink dot count valueassociated with the printhead identification value that matches thefirst printhead identification value and generates a first response thatincludes the determined ink dot count value. The second networkinterface then broadcasts the first response over the network from thesecond inkjet printer.

The third inkjet printer includes a third memory device, a third networkinterface, and a third processor. The third memory device also storesone or more printhead identification values in association with one ormore ink dot count values. The third network interface receives therequest that was broadcast over the network from the first inkjetprinter. The third processor executes instructions to access the thirdprinter memory device to determine whether any of the printheadidentification values stored therein matches the first printheadidentification value included in the request. If any of the printheadidentification values stored in the third printer memory device matchesthe first printhead identification value, the third processor accessesthe third printer memory device to determine an ink dot count valueassociated with the printhead identification value that matches thefirst printhead identification value and generates a second responsethat includes the determined ink dot count value. The third networkinterface then broadcasts the second response over the network from thethird inkjet printer, and the first network interface receives the firstand second responses that were broadcast over the network.

Based on comparing the ink dot value contained in the first response tothe ink dot count value contained in the second response, the firstprocessor determines a highest ink dot count value and stores thehighest ink dot count value as the first ink dot count value in thefirst printer memory device. As printing is performed using the inkjetprinthead cartridge installed in the first inkjet printer, the firstprocessor increments the first ink dot count value stored in the firstprinter memory device based on a number of ink dots ejected from theinkjet printhead cartridge after installation in the first inkjetprinter.

In yet another aspect, the invention provides a method for sharing inkdot count information between inkjet printers connected to a network. Ina preferred embodiment, the method includes the following steps:

-   -   (a) a first inkjet printer broadcasting a request that includes        a printhead identification value that identifies an inkjet        printhead cartridge installed in the first inkjet printer;    -   (b) a second inkjet printer receiving the request that was        broadcast over the network from the first inkjet printer;    -   (c) the second inkjet printer accessing a second printer memory        device in the second inkjet printer to determine whether a        printhead identification value is stored therein that matches        the printhead identification value included in the request;    -   (d) if a printhead identification value is stored in the second        printer memory device that matches the printhead identification        value included in the request, the second inkjet printer        accessing the second printer memory device to determine an ink        dot count value associated with the printhead identification        value;    -   (e) the second inkjet printer generating a response that        includes the ink dot count value associated with the printhead        identification value; and    -   (f) the second inkjet printer broadcasting the response over the        network.

In some embodiments, the method also includes the following steps:

-   -   (g) the first inkjet printer receiving the response from the        second inkjet printer and other responses that were broadcast        over the network from other inkjet printers connected to the        network;    -   (h) the first inkjet printer choosing one of the responses from        the second inkjet printer and the other inkjet printers based on        a highest ink dot count value contained in the responses from        the second inkjet printer and the other inkjet printers;    -   (i) the first inkjet printer storing the ink dot count value        contained in the chosen response in a first printer memory        device in the first inkjet printer; and    -   (j) as printing is performed using the inkjet printhead        cartridge installed in the first inkjet printer, incrementing        the ink dot count value stored in the first printer memory        device based on a number of ink dots ejected from the inkjet        printhead cartridge after installation in the second inkjet        printer.

BRIEF DESCRIPTION OF THE DRAWINGS

Other embodiments of the invention will become apparent by reference tothe detailed description in conjunction with the figures, whereinelements are not to scale so as to more clearly show the details,wherein like reference numbers indicate like elements throughout theseveral views, and wherein:

FIG. 1 depicts multiple inkjet printers connected to a network accordingto a preferred embodiment;

FIG. 2 depicts a method for advertising dot counts of inkjet printheadcartridges to inkjet printers connected to a network according to apreferred embodiment; and

FIGS. 3A and 3B are exemplary tabular representations of ink dot countvalues stored in printer memory in association printhead identificationvalues for two different printhead cartridges.

DETAILED DESCRIPTION

As shown in FIG. 1, an inkjet printer system 10 includes multiple inkjetprinters 12 a, 12 b, 12 c connected to a network 24, such as an Ethernetnetwork. Each of the printers 12 a, 12 b, 12 c includes a nonvolatilememory device 14 a, 14 b, 14 c, a processor 16 a, 16 b, 16 c, and anetwork interface 18 a, 18 b, 18 c. The network interfaces 18 a, 18 b,18 c enable communications between each of the printers 12 a, 12 b, 12 cvia the network 24. Installed in each printer 12 a, 12 b, 12 c is aprinthead cartridge 20 a, 20 b, 20 c. Each printhead cartridge 20 a, 20b, 20 c has a nonvolatile memory device 22 a, 22 b, 22 c, and contains aquantity of ink in an ink reservoir.

Stored in the memory device 22 a, 22 b, 22 c of each printhead cartridge20 a, 20 b, 20 c is a numerical or alphanumerical printheadidentification value, such as a serial number, that uniquely identifiesthe printhead cartridge 20 a, 20 b, 20 c. Also stored in each memorydevice 22 a, 22 b, 22 c is a status indicator value that indicateswhether or not the printhead cartridge 20 a, 20 b, 20 c has been usedbefore in any printer. For example, the status indicator value may be asingle-bit value, with a binary 1 indicating a new state and a binary 0indicating a used state.

In a preferred embodiment, the memory device 14 a, 14 b, 14 c of eachprinter 12 a, 12 b, 12 c stores printhead identification values inassociation with ink dot count values and timestamp values. Theprinthead identification values identify all printhead cartridges thathave ever been installed in the printer, the ink dot count valuesindicate the number of ink dots fired from each of the identifiedprinthead cartridges while in use in the printer, and the timestampvalues indicate the most recent date/time that each printhead cartridgewas used in a print job. FIGS. 3A and 3B depict exemplary tabularrepresentations of ink dot count values stored in association printheadidentification values and timestamp values in the memories 14 b and 14 cof the printers 12 b and 12 c, respectively.

FIG. 2 depicts a preferred embodiment of a method 100 for sharingprinthead ink dot count values in an ink jet printer system, such as thesystem 10 depicted in FIG. 1. When a new or used printhead cartridge,such as the cartridge 20 a, is installed in a printer, such as theprinter 12 a (step 102), the processor 16 a of the printer accesses thememory 22 a of the cartridge and retrieves the printhead identificationvalue and the status indicator value (step 104). For example, theprinthead identification value for the cartridge 20 a may be “00001” andits status indicator value may be “0” indicating that cartridge 20 a hasbeen used before. Based on determining that the cartridge 20 a has beenused (step 106), the processor 16 a broadcasts a request through thenetwork interface 18 a to all other printers connected to the network 24(step 108). The other printers 20 b, 20 c on the network 24 search theirmemories 14 b, 14 c for a printhead identification value that matchesthe value in the request, and each printer having a matching printheadidentification value in its memory broadcasts a response through itsnetwork interface 18 b, 18 c to the network 24 (step 110). Each responseincludes the ink dot count value that is stored in memory in associationwith the matching printhead identification value. For example, if thevalues depicted in FIG. 3A represent values stored in the memory 14 b ofthe printer 12 b, the response from printer 12 b would include the inkdot count value “12345” associated with the printhead identificationvalue “00001.” Similarly, if the values depicted in FIG. 3B representvalues stored in the memory 14 c of the printer 12 c, the response fromprinter 12 c would include the ink dot count value “30103” associatedwith the printhead identification value “00001.”

The processor of the printer 12 a receives the responses from thenetwork 24 (step 112), chooses which response is most relevant, which isthe response that includes the highest ink dot count value, and storesthe highest ink dot count value in the memory 14 a in association withthe requested printhead identification value (step 114). For example,the ink dot count value “30103” in the response from printer 12 c wouldbe stored in the memory 14 a because it is greater than the ink dotcount value “12345” in the response from printer 12 b. Thereafter, asink dots are fired during operation of the printer 12 a using theinstalled printhead cartridge 20 a, the ink dot count value associatedwith the printhead identification value for the printhead cartridge 20 ais incrementally updated in the memory 14 a, starting at “30103” (step116). In alternative embodiments, instead of determining which responseincludes the highest ink dot count value at step 114, the processor ofthe printer 12 a determines which response includes the most recenttimestamp value associated with the reported ink dot count value.

Going back now to step 106, if the status indicator value for thecartridge 20 a indicates that the installed cartridge 20 a is new (notused) (step 106), the processor of the printer 12 a stores an ink dotcount value of zero in the memory 14 a in association with the printheadidentification value (step 118). Thereafter, as ink dots are firedduring operation of the printer 12 a using the installed printheadcartridge 20 a, the ink dot count value associated with the printheadidentification value for the printhead cartridge 20 a is incrementallyupdated in the memory 14 a from an initial count of zero (step 116).

The foregoing description of preferred embodiments for this inventionhave been presented for purposes of illustration and description. Theyare not intended to be exhaustive or to limit the invention to theprecise form disclosed. Obvious modifications or variations are possiblein light of the above teachings. The embodiments are chosen anddescribed in an effort to provide the best illustrations of theprinciples of the invention and its practical application, and tothereby enable one of ordinary skill in the art to utilize the inventionin various embodiments and with various modifications as are suited tothe particular use contemplated. All such modifications and variationsare within the scope of the invention as determined by the appendedclaims when interpreted in accordance with the breadth to which they arefairly, legally, and equitably entitled.

What is claimed is:
 1. A method for precisely determining an amount ofink that has been expended by a removable inkjet printhead cartridgethat is installed in an inkjet printer connected to a network ofprinters, the method comprising: storing a printhead identificationvalue in a printhead memory device on the inkjet printhead cartridge;storing a current ink dot value in the printhead memory device; andproviding a processor in the printer for executing instructions for:accessing the printhead identification value and ink dot value from theprinthead identification device and storing the printhead identificationvalue and the current ink dot count value in a printer memory device;communicating over the network with one or more other printers connectedto the network; receiving ink dot count values from the one or moreother printers connected to the network, wherein the received ink dotcount values are associated with a printhead cartridge identificationvalue that matches the printhead cartridge identification value storedin the printer memory device; updating the current ink dot count valuestored in the printer memory device to be equivalent to a highest inkdot count value of the ink dot count values received from the one ormore printers connected to the network; and as printing is beingperformed by the inkjet printer, incrementing the current dot countvalue stored in the printer memory device based on a number of ink dotsejected from the inkjet printhead cartridge
 2. The method of claim 1,further comprising storing a status indicator value in the printheadmemory device for indicating a used status or a not-used status of theinkjet printhead cartridge prior to installing the cartridge in theprinter.
 3. The method of claim 1, further comprising determining aremaining ink level value for the inkjet printhead cartridge based onthe ink dot count value stored in the printer memory device.
 4. Themethod of claim 1, further comprising storing a time stamp valueassociated with the printhead identification value in the printheadmemory device
 5. The method of claim 4, further comprising accessing thetime stamp value in the printhead memory device to determine the mostrecent timestamp value; and providing the highest ink dot count valuebased on the most recent timestamp value for storing in the printermemory device.
 6. An inkjet printer attached to a network of printers,comprising; a network interface for communicating with the network ofprinters; a removable inkjet printhead cartridge having a printheadmemory device in which a printhead identification value is stored; aprinter memory device for storing the printhead cartridge identificationvalue accessed from the printhead memory device and a current ink dotcount value; a processor that executes instructions for communicatingover the network with one or more other printers connected to thenetwork; receiving ink dot count values from the one or more otherprinters connected to the network, wherein the received ink dot countvalues are associated with a printhead cartridge identification valuethat matches the printhead cartridge identification value stored in theprinter memory device; updating the current ink dot count value storedin the printer memory device to be equivalent to a highest ink dot countvalue of the ink dot count values received from the one or more printersconnected to the network; and as printing is being performed by theinkjet printer, incrementing the current dot count value stored in theprinter memory device based on a number of ink dots ejected from theinkjet printhead cartridge to provide an updated ink dot count value forthe cartridge.
 7. The inkjet printer of claim 6, wherein the processorexecutes instructions to determine a remaining ink level value for theinkjet printhead cartridge based on the current ink dot count valuestored in the printer memory device.
 8. The printer of claim 6, whereinthe processor executes instructions for storing the updated ink dotcount value in the printer memory device in association with theprinthead identification value.